package com.haierp.util.yitao;

import com.haierp.model.Item;
import com.haierp.util.PropertiesUtils;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;


/**
 * 一桃产品数据转换
 */
public class YtProductDataUtils {
    public static JSONObject ProductInfoConvert(Item item){
        JSONObject jsonObject = new JSONObject();
        try {
            String appKey = PropertiesUtils.getProperties().getProperty("RSA.PublicKey");
            String pathString = "saveProductInfoAndImg";
            //加密
            String byte2Base64 = RsaUtil.encryption(appKey,pathString);
            jsonObject.put("sign",byte2Base64);
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (item!=null){
            jsonObject.put("businessType",2);//平台编码
            jsonObject.put("outId",item.getId());//外部商品ID
            jsonObject.put("productName",item.getName());
            jsonObject.put("productEnName",item.getItemShort());
            jsonObject.put("brandCode",item.getEnName());//品牌英文名
            jsonObject.put("brandName",item.getBrand());//品牌
            jsonObject.put("categoryId",String.valueOf(item.getCategoryId()));//类目
            jsonObject.put("categoryName",item.getCategoryName());
            jsonObject.put("builtPlaceName",item.getOrigin());//产地
            jsonObject.put("currency",String.valueOf(item.getCurrency()));//币种
            jsonObject.put("markerPrice",item.getPriceRange());//价格区间
            jsonObject.put("salesPrice",item.getPriceRange());//售价
            jsonObject.put("productDetailImgList",item.getDetail());//商品详情图
            jsonObject.put("shopId","1");//所属门店
            //分解商品图片信息
            JSONObject  img = JSONObject.fromObject(item.getMainPic());
            if (img!=null){
                JSONArray imgList = img.getJSONArray("picList");
                if (imgList!=null &&imgList.size()>0){
                    jsonObject.put("productMainImgUrl",imgList.getJSONObject(0).get("url"));//商品主图
                    JSONArray image = new JSONArray();
                    for (int i=0;i<imgList.size();i++){
                        JSONObject jsonObject1 = new JSONObject();//商品轮播图
                        jsonObject1.put("imageUrl",imgList.getJSONObject(i).get("url"));
                        image.add(jsonObject1);
                    }
                    jsonObject.put("productBannerImgDtoList",image);
                }
            }
            jsonObject.put("productDetail",item.getRemark());//商品详情
            jsonObject.put("freightFee",String.valueOf(item.getFreight()));//运费
            jsonObject.put("articleNumber",item.getItemCode());//货号
            if (item.getItemSkus()!=null && item.getItemSkus().size()>0){
                JSONArray jsonArray = new JSONArray();
                for (int i=0; i<item.getItemSkus().size();i++){
                    JSONObject jsonObject1 = new JSONObject();
                    jsonObject1.put("sourceSkuId",item.getItemSkus().get(i).getId());
                    jsonObject1.put("sourceSkuCode",item.getItemSkus().get(i).getSkuCode());//sku
                    jsonObject1.put("productId",item.getItemSkus().get(i).getItemId());
                    jsonObject1.put("colour",item.getItemSkus().get(i).getColor());//颜色
                    jsonObject1.put("productSize",item.getItemSkus().get(i).getScale());//尺寸
                    jsonObject1.put("salesPrice",item.getItemSkus().get(i).getSalePrice());//售价
                    jsonObject1.put("wholesalePrice",item.getItemSkus().get(i).getPurchasePrice());//批发价(单位美元)
                    jsonObject1.put("discount",item.getItemSkus().get(i).getDiscount());//折扣率
                    int skuQuantity = 0;
					int lockedVirtualInv = item.getItemSkus().get(i).getLockedVirtualInv();
					if(item.getItemSkus().get(i).getVirtualInv()>0){
						skuQuantity = item.getItemSkus().get(i).getVirtualInv() - lockedVirtualInv;
					}else{
						skuQuantity = item.getItemSkus().get(i).getTotalAvailableInv() - lockedVirtualInv;
					}
					if(skuQuantity<0) skuQuantity = 0;
                    jsonObject1.put("entityStock",skuQuantity);//虚拟库存
                    JSONObject  imgsku = JSONObject.fromObject(item.getItemSkus().get(i).getSkuPic());
                    if (imgsku!=null){
                        JSONArray img2List = imgsku.getJSONArray("picList");
                        if (img2List!=null &&img2List.size()>0){
                            String url =img2List.getJSONObject(0).getString("url");
                            if (StringUtils.isNotBlank(url)){
                                jsonObject1.put("imageUrl",url);//url图
                            }

                        }
                    }
                    jsonArray.add(jsonObject1);
                }
                jsonObject.put("productSkuList",jsonArray);
            }
        }
        return jsonObject;
    }
}
